package padraoiterator;

import java.util.Collection;

/**
 *
 * @author elias
 */
public class IteradorConcreto implements Iterador {

    private int pointer = -1;
    private Collection<Object> colecao;

    public IteradorConcreto(Produto p){
        this.colecao = p.allItens();
    }

    public Object primeiro() {
        return ( colecao.isEmpty() ? null : colecao.toArray()[0]);
    }

    public Object proximo() {
        pointer++;
        return ( colecao.toArray()[pointer]);
    }

    public boolean existeProximo() {
        return ( pointer < colecao.size() - 1 );
    }

    public Object itemAtual() {
        return ( colecao.toArray()[pointer]);
    }

}
